我們可以使用適合的Linux Log Analytics Agent,從以Linux為基礎、支援 Syslog的機器或設備
將事件串流至Azure Sentinel。只要是可直接在主機上安裝Log Analytics Agent的任何裝置,
執行此串流作業。主機的原生Syslog精靈會收集指定類型的本機事件,並將事件轉送到本機代理程式
,以串流至Log Analytics WorkSpace。
Syslog是通用於Linux的事件記錄通訊協定。適用於Linux的Log Analytics Agent,安裝在虛擬機器或
設備上之後,安裝後會設定本機 Syslog精靈,以將訊息轉送至TCP Port 25224上的Agent。然後Agent
會透過HTTPS將訊息傳送到Log Analytics WorkSpace,並剖析成Syslog資料表中的事件記錄項目,資料表
位於[Azure Sentinel]>[記錄]。
檢視連接器頁面:
1.選取[資料連接器]頁面。
2.選取[Syslog] 。
3.然後在預覽窗格上選取[開啟連接器]頁面。
4.驗證有必要條件所述的適當權限。
5.選取[選擇安裝代理程式的位置]選項以展開指示。
若要在 Azure Linux虛擬機器上安裝代理程式:
1.在Azure Linux虛擬機器上安裝代理程式。
2.選取連結以下載及安裝Azure Linux虛擬機器代理程式。
3.在Linux VM的資料列上選取 [連線]。
Log Analytics Linux 代理程式只會收集具有其設定中指定之設備和嚴重性的事件。
可以在Log Analytics工作區的[進階設定] 中新增設備。
1.請存取 Log Analytics 工作區的 [進階設定] 頁面:
-從[Syslog 資料連接器]頁面,選取[開啟工作區進階設定組態]。
-從Azure Sentinel入口網站,選取[設定]區域中的[設定]。在 [設定] 區域中選取 [進階設定]。
2.選取[資料]。
3.選取[Syslog] 。
4.選取[將下列設定套用到我的電腦]選項。
5.輸入設備名稱,並選取每個設備的 +。
Syslog收集器會將記錄資料寫入Syslog資料表。和 CEF收集器的差異之一是,訊息資料
會儲存在名為SyslogMessage的字串欄位中。常見事件格式(CEF)連接器會將已剖析的
欄位寫入 CommonSecurityLog。若為Syslog,會需要在每個使用Syslog資料表的查詢
上剖析欄位,或寫入剖析器。剖析器是一種KQL函式,將查詢以函式的形式儲存,接著會參考
函式名稱。參考函式名稱就像存取任何其他資料表一樣。藉由建立剖析,只需要寫入一次
SyslogMessage 剖析。
在[記錄] 視窗中,建立查詢、選取 [儲存] 按鈕,然後從下拉式功能表中選取 [函式]。
接著指定函式名稱和別名。在此情況下,我們建立名為 MyParser 的函式,就可以使用名稱
MyParser 來存取資料表。
Syslog
| where ProcessName contains "squid"
| extend URL = extract("(([A-Z]+ [a-z]{4,5}:\\/\\/)|[A-Z]+ )([^ :]*)",3,SyslogMessage),
SourceIP = extract("([0-9]+ )(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3}))",2,SyslogMessage),
Status = extract("(TCP_(([A-Z]+)(_[A-Z]+)*)|UDP_(([A-Z]+)(_[A-Z]+)*))",1,SyslogMessage),
HTTP_Status_Code = extract("(TCP_(([A-Z]+)(_[A-Z]+)*)|UDP_(([A-Z]+)(_[A-Z]+)*))/([0-9]{3})",8,SyslogMessage),
User = extract("(CONNECT |GET )([^ ]* )([^ ]+)",3,SyslogMessage),
RemotePort = extract("(CONNECT |GET )([^ ]*)(:)([0-9]*)",4,SyslogMessage),
Domain = extract("(([A-Z]+ [a-z]{4,5}:\\/\\/)|[A-Z]+ )([^ :\\/]*)",3,SyslogMessage)
| extend TLD = extract("\\.[a-z]*$",0,Domain)